package com.innovations.inn.service;

import com.innovations.inn.domain.AdministrativeDivision;
import java.util.List;

/**
 * 行政区划Service接口
 * 
 * @author dp
 * @date 2024-01-16
 */
public interface IAdministrativeDivisionService 
{
    /**
     * 查询行政区划
     * 
     * @param divisionId 行政区划主键
     * @return 行政区划
     */
    public AdministrativeDivision selectAdministrativeDivisionByDivisionId(Long divisionId);

    /**
     * 查询行政区划列表
     * 
     * @param administrativeDivision 行政区划
     * @return 行政区划集合
     */
    public List<AdministrativeDivision> selectAdministrativeDivisionList(AdministrativeDivision administrativeDivision);

    /**
     * 新增行政区划
     * 
     * @param administrativeDivision 行政区划
     * @return 结果
     */
    public int insertAdministrativeDivision(AdministrativeDivision administrativeDivision);

    /**
     * 修改行政区划
     * 
     * @param administrativeDivision 行政区划
     * @return 结果
     */
    public int updateAdministrativeDivision(AdministrativeDivision administrativeDivision);

    /**
     * 批量删除行政区划
     * 
     * @param divisionIds 需要删除的行政区划主键集合
     * @return 结果
     */
    public int deleteAdministrativeDivisionByDivisionIds(Long[] divisionIds);

    /**
     * 删除行政区划信息
     * 
     * @param divisionId 行政区划主键
     * @return 结果
     */
    public int deleteAdministrativeDivisionByDivisionId(Long divisionId);

    /**
     * 实体数据补全
     *
     * @param administrativeDivision 实体
     * @param userId       用户id
     * @param crateType    创建类型 1：新增 2：修改
     */
    public void completeData(AdministrativeDivision administrativeDivision, Long userId, Integer crateType);

}
